package com.hzw.saas.api.hpc;

import com.hzw.saas.api.hpc.bo.HpcAccountIncreaseBo;
import com.hzw.saas.api.hpc.bo.HpcAccountRecordBo;
import com.hzw.saas.api.hpc.bo.HpcPowerCountDTO;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface IHpcAccountIncreaseService {

    /**
     * 算力增值
     */
    void powerIncrease();

    /**
     * 根据id查询所有的增值历史
     */
    Map<String,List<BigDecimal>> findIncreaseHistoryByRecordIds(List<String> ids);

    List<String> findAlreadyIncreased();

    BigDecimal getInterestRate();

    BigDecimal powerCount(BigDecimal nowPower);

    List<HpcAccountIncreaseBo> findIncrease(List<String> accountRecordId);

    HpcPowerCountDTO findHpcPowerCountDTO(List<String> hpcAccountUserIds);

    /**
     *  指定日期获取
     * @param hpcAccountRecordIds
     * @param startDate
     * @return
     */
    double getSumIncreaseByStartDate(List<String> hpcAccountRecordIds, Date startDate);

    /**
     * 指定日期算力增值
     * @param hpcAccountRecordId
     */
    void powerIncrease(String hpcAccountRecordId);
    void powerIncrease(HpcAccountRecordBo hpcAccountRecordBo);
}
